/* Siconos is a program dedicated to modeling, simulation and control
 * of non smooth dynamical systems.
 *
 * Copyright 2024 INRIA.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/
/*! \file RelationNamespace.hpp
  \brief Namespace related to relations
*/

#ifndef RELATIONNAMESPACE_HPP
#define RELATIONNAMESPACE_HPP

/** Namespace for types related to relations */
namespace RELATION
{
/** List of possible Relations types*/
  enum TYPES
  {
    /** First Order */
    FirstOrder,
    /** Lagrangian */
    Lagrangian,
    /** Lagrangian */
    NewtonEuler
  };

/** List of possible Relations subtypes*/
  enum SUBTYPES
  {
    /** non linear */
    NonLinearR,
    /** linear */
    LinearR,
    /** Linear and time invariant */
    LinearTIR,
    /** Scleronomous (lagrangian only) */
    ScleronomousR,
    /** Rheonomous (lagrangian only) */
    RheonomousR,
    /** Compliant (lagrangian only) */
    CompliantR,
    /** CompliantLinearTIR (lagrangian only) */
    CompliantLinearTIR,
    /** */
    Type1R,
    /** */
    Type2R
  };
}

#endif
